home *** CD-ROM | disk | FTP | other *** search
/ Windows 6-Pak - Disc 5 / Windows 6-Pak (InfoMagic) (Disc 5) (1999).ISO / C&C++Tools / BVCW95.ZIP / INCLUDE.ZIP / VEMATH.H < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-04  |  36.9 KB  |  808 lines

  1. /*  VEmath.h
  2.  
  3.   vector management functions:
  4.   math functions performed on each individual element of an
  5.   array or vector of the data type "extended";   real numbers
  6.  
  7.   Copyright (c) 1996-1999 by Martin Sander
  8.   All Rights Reserved.
  9. */
  10.  
  11. #ifndef __VEMATH_H
  12. #define __VEMATH_H
  13.  
  14. #ifndef __VESTD_H 
  15. #include <VEstd.h>
  16. #endif
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21.  
  22.  
  23. #ifdef __BORLANDC__   /* 80-bit IEEE numbers supported.
  24.                          The following  330 lines apply 
  25.                          only to Borland C++            */
  26.  
  27. /**************************  Rounding **********************************/
  28.  
  29. int  __vf   VE_round(  eVector  Y, eVector X, ui size );
  30. int  __vf   VE_roundtoBI( biVector Y, eVector X, ui size );
  31. int  __vf   VE_roundtoSI( siVector Y, eVector X, ui size );
  32. int  __vf   VE_roundtoI(  iVector  Y, eVector X, ui size );
  33. int  __vf   VE_roundtoLI( liVector Y, eVector X, ui size );
  34. int  __vf   VE_roundtoQI( qiVector Y, eVector X, ui size );
  35. int  __vf   VE_roundtoUB( ubVector Y, eVector X, ui size );
  36. int  __vf   VE_roundtoUS( usVector Y, eVector X, ui size );
  37. int  __vf   VE_roundtoU(  uVector  Y, eVector X, ui size );
  38. int  __vf   VE_roundtoUL( ulVector Y, eVector X, ui size );
  39.  
  40. int  __vf   VE_floor(  eVector  Y, eVector X, ui size );
  41. int  __vf   VE_floortoBI( biVector Y, eVector X, ui size );
  42. int  __vf   VE_floortoSI( siVector Y, eVector X, ui size );
  43. int  __vf   VE_floortoI(  iVector  Y, eVector X, ui size );
  44. int  __vf   VE_floortoLI( liVector Y, eVector X, ui size );
  45. int  __vf   VE_floortoQI( qiVector Y, eVector X, ui size );
  46. int  __vf   VE_floortoUB( ubVector Y, eVector X, ui size );
  47. int  __vf   VE_floortoUS( usVector Y, eVector X, ui size );
  48. int  __vf   VE_floortoU(  uVector  Y, eVector X, ui size );
  49. int  __vf   VE_floortoUL( ulVector Y, eVector X, ui size );
  50.  
  51. int  __vf   VE_ceil(  eVector  Y, eVector X, ui size );
  52. int  __vf   VE_ceiltoBI( biVector Y, eVector X, ui size );
  53. int  __vf   VE_ceiltoSI( siVector Y, eVector X, ui size );
  54. int  __vf   VE_ceiltoI(  iVector  Y, eVector X, ui size );
  55. int  __vf   VE_ceiltoLI( liVector Y, eVector X, ui size );
  56. int  __vf   VE_ceiltoQI( qiVector Y, eVector X, ui size );
  57. int  __vf   VE_ceiltoUB( ubVector Y, eVector X, ui size );
  58. int  __vf   VE_ceiltoUS( usVector Y, eVector X, ui size );
  59. int  __vf   VE_ceiltoU(  uVector  Y, eVector X, ui size );
  60. int  __vf   VE_ceiltoUL( ulVector Y, eVector X, ui size );
  61.  
  62. int  __vf   VE_chop(  eVector  Y, eVector X, ui size );
  63. int  __vf   VE_choptoBI( biVector Y, eVector X, ui size );
  64. int  __vf   VE_choptoSI( siVector Y, eVector X, ui size );
  65. int  __vf   VE_choptoI(  iVector  Y, eVector X, ui size );
  66. int  __vf   VE_choptoLI( liVector Y, eVector X, ui size );
  67. int  __vf   VE_choptoQI( qiVector Y, eVector X, ui size );
  68. int  __vf   VE_choptoUB( ubVector Y, eVector X, ui size );
  69. int  __vf   VE_choptoUS( usVector Y, eVector X, ui size );
  70. int  __vf   VE_choptoU(  uVector  Y, eVector X, ui size );
  71. int  __vf   VE_choptoUL( ulVector Y, eVector X, ui size );
  72.  
  73. #define     VE_trunc      VE_chop
  74. #define     VE_trunctoBI  VE_choptoBI
  75. #define     VE_trunctoSI  VE_choptoSI
  76. #define     VE_trunctoI   VE_choptoI
  77. #define     VE_trunctoLI  VE_choptoLI
  78. #define     VE_trunctoQI  VE_choptoQI
  79. #define     VE_trunctoUB  VE_choptoUB
  80. #define     VE_trunctoUS  VE_choptoUS
  81. #define     VE_trunctoU   VE_choptoU
  82. #define     VE_trunctoUL  VE_choptoUL
  83.  
  84. #if defined V_HUGE
  85.       #define   VE_roundtoUI   VE_roundtoUL
  86.       #define   VE_floortoUI   VE_floortoUL
  87.       #define   VE_ceiltoUI    VE_ceiltoUL
  88.       #define   VE_choptoUI    VE_choptoUL
  89.       #define   VE_trunctoUI   VE_trunctoUL
  90. #else
  91.       #define   VE_roundtoUI   VE_roundtoU
  92.       #define   VE_floortoUI   VE_floortoU
  93.       #define   VE_ceiltoUI    VE_ceiltoU
  94.       #define   VE_choptoUI    VE_choptoU
  95.       #define   VE_trunctoUI   VE_trunctoU
  96. #endif
  97.  
  98. /********************  Comparisons   ********************/
  99.  
  100. void __vf   VE_cmp0(    eVector Y, eVector X, ui size );
  101. ui   __vf   VE_cmp_eq0( eVector Y, eVector X, ui size );
  102. ui   __vf   VE_cmp_ne0( eVector Y, eVector X, ui size );
  103. ui   __vf   VE_cmp_le0( eVector Y, eVector X, ui size );
  104. ui   __vf   VE_cmp_lt0( eVector Y, eVector X, ui size );
  105. ui   __vf   VE_cmp_ge0( eVector Y, eVector X, ui size );
  106. ui   __vf   VE_cmp_gt0( eVector Y, eVector X, ui size );
  107.  
  108. ui   __vf   VE_cmp_eq0ind( uiVector Ind, eVector X, ui size );
  109. ui   __vf   VE_cmp_ne0ind( uiVector Ind, eVector X, ui size );
  110. ui   __vf   VE_cmp_le0ind( uiVector Ind, eVector X, ui size );
  111. ui   __vf   VE_cmp_lt0ind( uiVector Ind, eVector X, ui size );
  112. ui   __vf   VE_cmp_ge0ind( uiVector Ind, eVector X, ui size );
  113. ui   __vf   VE_cmp_gt0ind( uiVector Ind, eVector X, ui size );
  114.  
  115. void __vf   VE_cmpC(    eVector Y, eVector X, ui size, extended C );
  116. ui   __vf   VE_cmp_eqC( eVector Y, eVector X, ui size, extended C );
  117. ui   __vf   VE_cmp_neC( eVector Y, eVector X, ui size, extended C );
  118. ui   __vf   VE_cmp_leC( eVector Y, eVector X, ui size, extended C );
  119. ui   __vf   VE_cmp_ltC( eVector Y, eVector X, ui size, extended C );
  120. ui   __vf   VE_cmp_geC( eVector Y, eVector X, ui size, extended C );
  121. ui   __vf   VE_cmp_gtC( eVector Y, eVector X, ui size, extended C );
  122.  
  123. ui   __vf   VE_cmp_eqCind( uiVector Ind, eVector X, ui size, extended C );
  124. ui   __vf   VE_cmp_neCind( uiVector Ind, eVector X, ui size, extended C );
  125. ui   __vf   VE_cmp_leCind( uiVector Ind, eVector X, ui size, extended C );
  126. ui   __vf   VE_cmp_ltCind( uiVector Ind, eVector X, ui size, extended C );
  127. ui   __vf   VE_cmp_geCind( uiVector Ind, eVector X, ui size, extended C );
  128. ui   __vf   VE_cmp_gtCind( uiVector Ind, eVector X, ui size, extended C );
  129.  
  130. void __vf   VE_cmpV(    eVector Z, eVector X, eVector Y, ui size );
  131. ui   __vf   VE_cmp_eqV( eVector Z, eVector X, eVector Y, ui size );
  132. ui   __vf   VE_cmp_neV( eVector Z, eVector X, eVector Y, ui size );
  133. ui   __vf   VE_cmp_leV( eVector Z, eVector X, eVector Y, ui size );
  134. ui   __vf   VE_cmp_ltV( eVector Z, eVector X, eVector Y, ui size );
  135. ui   __vf   VE_cmp_geV( eVector Z, eVector X, eVector Y, ui size );
  136. ui   __vf   VE_cmp_gtV( eVector Z, eVector X, eVector Y, ui size );
  137.  
  138. ui   __vf   VE_cmp_eqVind( uiVector Ind, eVector X, eVector Y, ui size );
  139. ui   __vf   VE_cmp_neVind( uiVector Ind, eVector X, eVector Y, ui size );
  140. ui   __vf   VE_cmp_leVind( uiVector Ind, eVector X, eVector Y, ui size );
  141. ui   __vf   VE_cmp_ltVind( uiVector Ind, eVector X, eVector Y, ui size );
  142. ui   __vf   VE_cmp_geVind( uiVector Ind, eVector X, eVector Y, ui size );
  143. ui   __vf   VE_cmp_gtVind( uiVector Ind, eVector X, eVector Y, ui size );
  144.  
  145. ui   __vf   VE_cmp_inclrange0C( eVector Y, eVector X, ui size, extended C );
  146. ui   __vf   VE_cmp_exclrange0C( eVector Y, eVector X, ui size, extended C );
  147. ui   __vf   VE_cmp_inclrangeCC( eVector Y, eVector X, ui size, extended CLo, extended CHi );
  148. ui   __vf   VE_cmp_exclrangeCC( eVector Y, eVector X, ui size, extended CLo, extended CHi );
  149.  
  150. ui   __vf   VE_cmp_inclrange0Cind( uiVector Ind, eVector X, ui size, extended C );
  151. ui   __vf   VE_cmp_exclrange0Cind( uiVector Ind, eVector X, ui size, extended C );
  152. ui   __vf   VE_cmp_inclrangeCCind( uiVector Ind, eVector X, ui size, extended CLo, extended CHi );
  153. ui   __vf   VE_cmp_exclrangeCCind( uiVector Ind, eVector X, ui size, extended CLo, extended CHi );
  154.  
  155.  
  156. /********************  Standard Arithmetics   ***************************/
  157.  
  158. void  __vf  VE_equC( eVector X, ui size, extended C );
  159. void  __vf  VE_equV( eVector Y, eVector X, ui size );
  160. void  __vf  VEx_equV( eVector Y, eVector X, ui size, extended A, extended B );
  161.  
  162. void  __vf  VE_addC(  eVector Y, eVector X, ui size, extended C );
  163. void  __vf  VE_subC(  eVector Y, eVector X, ui size, extended C );
  164. void  __vf  VE_subrC( eVector Y, eVector X, ui size, extended C );
  165. void  __vf  VE_mulC(  eVector Y, eVector X, ui size, extended C );
  166. void  __vf  VE_divC(  eVector Y, eVector X, ui size, extended C );
  167. void  __vf  VE_divrC( eVector Y, eVector X, ui size, extended C );
  168. void  __vf  VEx_divrC( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  169.  
  170. void  __vf  VE_addV(  eVector Z, eVector X, eVector Y, ui size );
  171. void  __vf  VE_subV(  eVector Z, eVector X, eVector Y, ui size );
  172. void  __vf  VE_subrV( eVector Z, eVector X, eVector Y, ui size );
  173. void  __vf  VE_mulV(  eVector Z, eVector X, eVector Y, ui size );
  174. void  __vf  VE_divV(  eVector Z, eVector X, eVector Y, ui size );
  175. void  __vf  VE_divrV( eVector Z, eVector X, eVector Y, ui size );
  176.  
  177. void  __vf  VEx_addV(  eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  178.                                  /* Z = (A*X+B) + Y */
  179. void  __vf  VEx_subV(  eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  180. void  __vf  VEx_subrV( eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  181. void  __vf  VEx_mulV(  eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  182. void  __vf  VEx_divV(  eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  183. void  __vf  VEx_divrV( eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  184.  
  185. void  __vf  VEs_addV( eVector Z, eVector X, eVector Y, ui size, extended C ); /* Z=C*(X+Y) */
  186. void  __vf  VEs_subV( eVector Z, eVector X, eVector Y, ui size, extended C );
  187. void  __vf  VEs_mulV( eVector Z, eVector X, eVector Y, ui size, extended C );
  188. void  __vf  VEs_divV( eVector Z, eVector X, eVector Y, ui size, extended C );
  189.  
  190. void  __vf  VE_maxC(   eVector Y, eVector X, ui size, extended C );
  191. void  __vf  VE_minC(   eVector Y, eVector X, ui size, extended C );
  192. void  __vf  VE_limit(  eVector Y, eVector X, ui size, extended Min, extended Max );
  193. void  __vf  VE_flush0( eVector Y, eVector X, ui size, extended AbsMin );
  194. void  __vf  VE_maxV(   eVector Z, eVector X, eVector Y, ui size );
  195. void  __vf  VE_minV(   eVector Z, eVector X, eVector Y, ui size );
  196. void  __vf  VE_modC(   eVector Y, eVector X, ui size, extended C );
  197. void  __vf  VE_modV(   eVector Z, eVector X, eVector Y, ui size );
  198. void  __vf  VEx_modV(  eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  199. #define     VE_fmodC    VE_modC
  200. #define     VE_fmodV    VE_modV
  201. #define     VEx_fmodV   VEx_modV
  202.  
  203. void __vf  VE_redC(  eVector Y, eVector X, ui size, extended C );
  204. void __vf  VE_redV(  eVector Z, eVector X, eVector Y, ui size );
  205. void __vf  VEx_redV( eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  206. void __vf  VE_visC(  eVector Y, eVector X, ui size, extended C );
  207. void __vf  VE_visV(  eVector Z, eVector X, eVector Y, ui size );
  208. void __vf  VEx_visV( eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  209. void __vf  VE_hypC(  eVector Y, eVector X, ui size, extended C );
  210. void __vf  VE_hypV(  eVector Z, eVector X, eVector Y, ui size );
  211. void __vf  VEx_hypV( eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  212.  
  213. void __vf VE_lincomb( eVector Z, eVector X, eVector Y, ui size,
  214.                       extended CX, extended CY );  /* Z[i]=CX*X[i]+CY*Y[i] */
  215.  
  216. #define    VE_sgn    VE_cmp0
  217.  
  218. /******************** Accumulation (Y += X) ******************************/
  219.  
  220. void __vf VE_accV(   eVector Y, eVector  X, ui size );
  221. void __vf VE_accVF(  eVector Y, fVector  X, ui size );
  222. void __vf VE_accVD(  eVector Y, dVector  X, ui size );
  223. void __vf VE_accVBI( eVector Y, biVector X, ui size );
  224. void __vf VE_accVSI( eVector Y, siVector X, ui size );
  225. void __vf VE_accVI(  eVector Y, iVector  X, ui size );
  226. void __vf VE_accVLI( eVector Y, liVector X, ui size );
  227. void __vf VE_accVQI( eVector Y, qiVector X, ui size );
  228. void __vf VE_accVUB( eVector Y, ubVector X, ui size );
  229. void __vf VE_accVUS( eVector Y, usVector X, ui size );
  230. void __vf VE_accVU(  eVector Y, uVector  X, ui size );
  231. void __vf VE_accVUL( eVector Y, ulVector X, ui size );
  232. #if defined V_HUGE
  233.     #define VE_accVUI  VE_accVUL
  234. #else
  235.     #define VE_accVUI  VE_accVU
  236. #endif
  237.  
  238. /***************** Functions of a sub-set of elements  ********************/
  239.  
  240. void  __vf  VE_subvector_equC(  eVector Y, ui subsiz, unsigned samp, extended C );
  241. void  __vf  VE_subvector_equV(  eVector Y, ui subsiz, unsigned samp, eVector X );
  242.  
  243. void  __vf  VE_subvector_addC(  eVector Y, ui subsiz, unsigned samp, extended C );
  244. void  __vf  VE_subvector_subC(  eVector Y, ui subsiz, unsigned samp, extended C );
  245. void  __vf  VE_subvector_subrC( eVector Y, ui subsiz, unsigned samp, extended C );
  246. void  __vf  VE_subvector_mulC(  eVector Y, ui subsiz, unsigned samp, extended C );
  247. void  __vf  VE_subvector_divC(  eVector Y, ui subsiz, unsigned samp, extended C );
  248. void  __vf  VE_subvector_divrC( eVector Y, ui subsiz, unsigned samp, extended C );
  249.  
  250. void  __vf  VE_subvector_addV(  eVector Y, ui subsiz, unsigned samp, eVector X );
  251. void  __vf  VE_subvector_subV(  eVector Y, ui subsiz, unsigned samp, eVector X );
  252. void  __vf  VE_subvector_subrV( eVector Y, ui subsiz, unsigned samp, eVector X );
  253. void  __vf  VE_subvector_mulV(  eVector Y, ui subsiz, unsigned samp, eVector X );
  254. void  __vf  VE_subvector_divV(  eVector Y, ui subsiz, unsigned samp, eVector X );
  255. void  __vf  VE_subvector_divrV( eVector Y, ui subsiz, unsigned samp, eVector X );
  256.  
  257.  
  258. /**********************  Mathematical Functions ***********************/
  259.  
  260. int   __vf   VE_abs( eVector Y, eVector X, ui size );
  261. int   __vf   VE_neg( eVector Y, eVector X, ui size );
  262. int   __vf   VE_inv( eVector Y, eVector X, ui size );
  263. int   __vf   VEx_inv( eVector Y, eVector X, ui size, extended A, extended B );
  264. int   __vf   VE_intfrac( eVector Int, eVector Frac, eVector X, ui size );
  265. #define      VE_modf    VE_intfrac
  266. int   __vf   VE_mantexp( eVector Mant, iVector Exp, eVector X, ui size );
  267. #define      VE_frexp   VE_mantexp
  268.  
  269. int  __vf    VE_hypotC( eVector Y, eVector X, ui size, extended C );
  270. int  __vf    VE_hypotV( eVector Z, eVector X, eVector Y, ui size );
  271. int  __vf    VEx_hypotV( eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  272.  
  273. int  __vf    VE_scale2( eVector Y, eVector X, ui size, int expo );
  274. int  __vf    VE_scale10( eVector Y, eVector X, ui size, int expo );
  275. #define      VE_ldexp    VE_scale2
  276.  
  277. int  __vf    VE_square( eVector Y, eVector X, ui size );
  278. int  __vf    VEx_square( eVector Y, eVector X, ui size, extended A, extended B );
  279. int  __vf    VE_cubic( eVector Y, eVector X, ui size );
  280. int  __vf    VEx_cubic( eVector Y, eVector X, ui size, extended A, extended B );
  281. int  __vf    VE_quartic( eVector Y, eVector X, ui size );
  282. int  __vf    VEx_quartic( eVector Y, eVector X, ui size, extended A, extended B );
  283. int  __vf    VE_poly( eVector Y, eVector X, ui size, eVector Coeff, unsigned deg );
  284. int  __vf    VEx_poly( eVector Y, eVector X, ui size, eVector Coeff, unsigned deg, extended A, extended B );
  285. int  __vf    VE_ipow( eVector Y, eVector X, ui size, int ipow );
  286. int  __vf    VEx_ipow( eVector Y, eVector X, ui size, int ipow, extended A, extended B, extended C );
  287.                           /* ipow: integer powers of x */
  288.  
  289.          /* extra fast powers: "unprotected", without error handling: */
  290. int  __vf    VEu_square( eVector Y, eVector X, ui size ); /* fast, unprotected versions */
  291. int  __vf    VEux_square( eVector Y, eVector X, ui size, extended A, extended B );
  292. int  __vf    VEu_cubic( eVector Y, eVector X, ui size );
  293. int  __vf    VEux_cubic( eVector Y, eVector X, ui size, extended A, extended B );
  294. int  __vf    VEu_quartic( eVector Y, eVector X, ui size );
  295. int  __vf    VEux_quartic( eVector Y, eVector X, ui size, extended A, extended B );
  296. int  __vf    VEu_poly( eVector Y, eVector X, ui size, eVector Coeff, unsigned deg );
  297. int  __vf    VEux_poly( eVector Y, eVector X, ui size, eVector Coeff, unsigned deg, extended A, extended B );
  298. int  __vf    VEu_ipow( eVector Y, eVector X, ui size, int ipow );
  299. int  __vf    VEux_ipow( eVector Y, eVector X, ui size, int ipow, extended A, extended B, extended C );
  300.  
  301. int  __vf    VE_ipow2(  eVector Y, iVector X, ui size );
  302. int  __vf    VE_ipow10( eVector Y, iVector X, ui size );
  303.                           /* ipow2 and ipow10: integer powers of 2 and 10 */
  304.  
  305. int  __vf   VE_pow(    eVector Y, eVector X, ui size, extended expo );
  306. int  __vf   VEx_pow(   eVector Y, eVector X, ui size, extended expo, extended A, extended B, extended C );
  307. int  __vf   VE_pow2(   eVector Y, eVector X, ui size );
  308. int  __vf   VEx_pow2(  eVector Y, eVector X, ui size, extended A, extended B, extended C );
  309. int  __vf   VE_pow10(  eVector Y, eVector X, ui size );
  310. int  __vf   VEx_pow10( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  311.                           /* pow2 and pow10: powers of 2 and 10 */
  312.  
  313. int  __vf   VE_sqrt(  eVector Y, eVector X, ui size );
  314. int  __vf   VEx_sqrt( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  315.  
  316. int  __vf   VE_log(    eVector Y, eVector X, ui size );
  317. int  __vf   VE_log2(   eVector Y, eVector X, ui size );
  318. int  __vf   VE_log10(  eVector Y, eVector X, ui size );
  319. #define     VE_ln    VE_log
  320. int  __vf   VEx_log(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  321. int  __vf   VEx_log2(  eVector Y, eVector X, ui size, extended A, extended B, extended C );
  322. int  __vf   VEx_log10( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  323. #define     VEx_ln   VEx_log
  324.  
  325. int  __vf   VE_OD( eVector OD, eVector X, eVector X0, ui size );  /* OD = log10( X0/X ) */
  326. int  __vf   VE_ODwDark( eVector OD, eVector X, eVector XDark,
  327.                         eVector X0, eVector X0Dark, ui size );
  328. void __vf   VE_setODThresh( extended minX, extended minX0 );
  329.  
  330. int  __vf   VE_exp(   eVector Y, eVector X, ui size );
  331. int  __vf   VEx_exp(  eVector Y, eVector X, ui size, extended A, extended B, extended C );
  332. int  __vf   VE_expArbBase(  eVector Y, eVector X, ui size, extended Base );
  333. int  __vf   VEx_expArbBase( eVector Y, eVector X, ui size, extended Base,
  334.                             extended A, extended B, extended C );
  335. int  __vf   VE_expc(  eVector Y, eVector X, ui size );
  336. int  __vf   VEx_expc( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  337. int  __vf   VE_exp2(  eVector Y, eVector X, ui size );
  338. int  __vf   VEx_exp2( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  339. int  __vf   VE_exp2(  eVector Y, eVector X, ui size );
  340. int  __vf   VEx_exp2( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  341. int  __vf   VE_exp10(  eVector Y, eVector X, ui size );
  342. int  __vf   VEx_exp10( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  343.                        /* exp2 and exp10 used as synonyms for pow2 and pow10 */
  344. int  __vf   VE_expmx2(  eVector Y, eVector X, ui size );
  345. int  __vf   VEx_expmx2( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  346.                         /* expmx2(x) = exp( -x**2 ) */
  347.  
  348. int  __vf   VE_erf(     eVector Y, eVector X, ui size );
  349. int  __vf   VEx_erf(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  350. int  __vf   VE_erfc(    eVector Y, eVector X, ui size );
  351. int  __vf   VEx_erfc(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  352. int  __vf   VE_Gauss(   eVector Y, eVector X, ui size, extended Wid, extended Cent, extended C );
  353. int  __vf   VE_Lorentz( eVector Y, eVector X, ui size, extended Wid, extended Cent, extended C );
  354.  
  355. int  __vf   VE_sin(     eVector Y, eVector X, ui size );
  356. int  __vf   VEx_sin(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  357. int  __vf   VE_cos(     eVector Y, eVector X, ui size );
  358. int  __vf   VEx_cos(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  359. int  __vf   VE_sincos(  eVector Sin, eVector Cos, eVector X, ui size );
  360. int  __vf   VEx_sincos( eVector Sin, eVector Cos, eVector X, ui size, extended A, extended B, extended C );
  361.  
  362. int  __vf   VE_tan(     eVector Y, eVector X, ui size );
  363. int  __vf   VEx_tan(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  364. int  __vf   VE_cot(     eVector Y, eVector X, ui size );
  365. int  __vf   VEx_cot(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  366.  
  367. int  __vf   VE_sec(     eVector Y, eVector X, ui size );
  368. int  __vf   VEx_sec(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  369. int  __vf   VE_cosec(   eVector Y, eVector X, ui size );
  370. int  __vf   VEx_cosec(  eVector Y, eVector X, ui size, extended A, extended B, extended C );
  371.  
  372. int  __vf   VE_sin2(    eVector Y, eVector X, ui size );
  373. int  __vf   VEx_sin2(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  374. int  __vf   VE_cos2(    eVector Y, eVector X, ui size );
  375. int  __vf   VEx_cos2(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  376. int  __vf   VE_sincos2( eVector Sin, eVector Cos, eVector X, ui size );
  377. int  __vf   VEx_sincos2( eVector Sin, eVector Cos, eVector X, ui size, extended A, extended B, extended C );
  378.  
  379. int  __vf   VE_tan2(     eVector Y, eVector X, ui size );
  380. int  __vf   VEx_tan2(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  381. int  __vf   VE_cot2(     eVector Y, eVector X, ui size );
  382. int  __vf   VEx_cot2(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  383. int  __vf   VE_sec2(     eVector Y, eVector X, ui size );
  384. int  __vf   VEx_sec2(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  385. int  __vf   VE_cosec2(   eVector Y, eVector X, ui size );
  386. int  __vf   VEx_cosec2(  eVector Y, eVector X, ui size, extended A, extended B, extended C );
  387.  
  388.  /*  reduced-range sine and cosine for -2Pi <= x <= +2Pi */
  389. int  __vf   VEr_sin(    eVector Y, eVector X, ui size );
  390. int  __vf   VErx_sin(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  391. int  __vf   VEr_cos(    eVector Y, eVector X, ui size );
  392. int  __vf   VErx_cos(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  393. int  __vf   VEr_sincos( eVector Sin, eVector Cos, eVector X, ui size );
  394. int  __vf   VErx_sincos( eVector Sin, eVector Cos, eVector X, ui size, extended A, extended B, extended C );
  395. int  __vf   VEr_sin2(    eVector Y, eVector X, ui size );
  396. int  __vf   VErx_sin2(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  397. int  __vf   VEr_cos2(    eVector Y, eVector X, ui size );
  398. int  __vf   VErx_cos2(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  399. int  __vf   VEr_sincos2( eVector Sin, eVector Cos, eVector X, ui size );
  400. int  __vf   VErx_sincos2( eVector Sin, eVector Cos, eVector X, ui size, extended A, extended B, extended C );
  401.  
  402. /* trigonometric functions of rational multiples of Pi: x = p/q * Pi */
  403. int  __vf   VE_sinrpi(   eVector Y, iVector P, ui size, int q );
  404. int  __vf   VE_cosrpi(   eVector Y, iVector P, ui size, int q );
  405. int  __vf   VE_sincosrpi( eVector Sin, eVector Cos, iVector P, ui size, int q );
  406. int  __vf   VE_tanrpi(   eVector Y, iVector P, ui size, int q );
  407. int  __vf   VE_cotrpi(   eVector Y, iVector P, ui size, int q );
  408. int  __vf   VE_secrpi(   eVector Y, iVector P, ui size, int q );
  409. int  __vf   VE_cosecrpi( eVector Y, iVector P, ui size, int q );
  410.  
  411. int  __vf   VE_sinrpi2(  eVector Y, iVector P, ui size, int q );
  412. int  __vf   VE_cosrpi2(  eVector Y, iVector P, ui size, int q );
  413. int  __vf   VE_sincosrpi2( eVector Sin, eVector Cos, iVector P, ui size, int q );
  414. int  __vf   VE_tanrpi2(  eVector Y, iVector P, ui size, int q );
  415. int  __vf   VE_cotrpi2(  eVector Y, iVector P, ui size, int q );
  416. int  __vf   VE_secrpi2(  eVector Y, iVector P, ui size, int q );
  417. int  __vf   VE_cosecrpi2( eVector Y, iVector P, ui size, int q );
  418.  
  419. int  __vf   VE_sinrpi3(  eVector Y, iVector P, ui size, int q );
  420. int  __vf   VE_cosrpi3(  eVector Y, iVector P, ui size, int q );
  421. int  __vf   VE_sincosrpi3( eVector Sin, eVector Cos, iVector P, ui size, int q );
  422. int  __vf   VE_tanrpi3(  eVector Y, iVector P, ui size, int q );
  423. int  __vf   VE_cotrpi3(  eVector Y, iVector P, ui size, int q );
  424. int  __vf   VE_secrpi3(  eVector Y, iVector P, ui size, int q );
  425. int  __vf   VE_cosecrpi3( eVector Y, iVector P, ui size, int q );
  426.  
  427. int  __vf   VE_sinc(     eVector Y, eVector X, ui size );
  428. int  __vf   VEx_sinc(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  429. int  __vf   VE_Kepler(   eVector Y, eVector X, ui size, long double T, long double e );
  430. int  __vf   VEx_Kepler(  eVector Y, eVector X, ui size, long double T, long double e,
  431.                          long double A, long double B );
  432.  
  433. int  __vf   VE_asin(    eVector Y, eVector X, ui size );
  434. int  __vf   VEx_asin(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  435. int  __vf   VE_acos(    eVector Y, eVector X, ui size );
  436. int  __vf   VEx_acos(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  437. int  __vf   VE_atan(    eVector Y, eVector X, ui size );
  438. int  __vf   VEx_atan(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  439. int  __vf   VE_atan2(   eVector Z, eVector X, eVector Y, ui size );
  440. int  __vf   VEx_atan2(  eVector Z, eVector X, eVector Y, ui size, extended A, extended B, extended C );
  441.  
  442. int  __vf   VE_sinh(    eVector Y, eVector X, ui size );
  443. int  __vf   VEx_sinh(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  444. int  __vf   VE_cosh(    eVector Y, eVector X, ui size );
  445. int  __vf   VEx_cosh(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  446. int  __vf   VE_tanh(    eVector Y, eVector X, ui size );
  447. int  __vf   VEx_tanh(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  448. int  __vf   VE_coth(    eVector Y, eVector X, ui size );
  449. int  __vf   VEx_coth(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  450. int  __vf   VE_sech(    eVector Y, eVector X, ui size );
  451. int  __vf   VEx_sech(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  452. int  __vf   VE_cosech(  eVector Y, eVector X, ui size );
  453. int  __vf   VEx_cosech( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  454. int  __vf   VE_sech2(   eVector Y, eVector X, ui size );
  455. int  __vf   VEx_sech2(  eVector Y, eVector X, ui size, extended A, extended B, extended C );
  456.  
  457.  
  458. #else   /* no 80-bit IEEE number support with Visual C++:
  459.            the following 340 lines apply only to Visual C++  */
  460.  
  461. #define VE_round        VD_round
  462. #define VE_roundtoSI    VD_roundtoSI
  463. #define VE_roundtoI     VD_roundtoI
  464. #define VE_roundtoLI    VD_roundtoLI
  465. #define VE_roundtoQI    VD_roundtoQI
  466. #define VE_roundtoUS    VD_roundtoUS
  467. #define VE_roundtoU     VD_roundtoU
  468. #define VE_roundtoUL    VD_roundtoUL
  469.  
  470. #define VE_floor        VD_floor
  471. #define VE_floortoSI    VD_floortoSI
  472. #define VE_floortoI     VD_floortoI
  473. #define VE_floortoLI    VD_floortoLI
  474. #define VE_floortoQI    VD_floortoQI
  475. #define VE_floortoUS    VD_floortoUS
  476. #define VE_floortoU     VD_floortoU
  477. #define VE_floortoUL    VD_floortoUL
  478.  
  479. #define VE_ceil        VD_ceil
  480. #define VE_ceiltoSI    VD_ceiltoSI
  481. #define VE_ceiltoI     VD_ceiltoI
  482. #define VE_ceiltoLI    VD_ceiltoLI
  483. #define VE_ceiltoQI    VD_ceiltoQI
  484. #define VE_ceiltoUS    VD_ceiltoUS
  485. #define VE_ceiltoU     VD_ceiltoU
  486. #define VE_ceiltoUL    VD_ceiltoUL
  487.  
  488. #define VE_chop        VD_chop
  489. #define VE_choptoSI    VD_choptoSI
  490. #define VE_choptoI     VD_choptoI
  491. #define VE_choptoLI    VD_choptoLI
  492. #define VE_choptoQI    VD_choptoQI
  493. #define VE_choptoUS    VD_choptoUS
  494. #define VE_choptoU     VD_choptoU
  495. #define VE_choptoUL    VD_choptoUL
  496.  
  497. #define VE_trunc       VE_chop
  498. #define VE_trunctoSI   VE_choptoSI
  499. #define VE_trunctoI    VE_choptoI
  500. #define VE_trunctoLI   VE_choptoLI
  501. #define VE_trunctoQI   VE_choptoQI
  502. #define VE_trunctoUS   VE_choptoUS
  503. #define VE_trunctoU    VE_choptoU
  504. #define VE_trunctoUL   VE_choptoUL
  505.  
  506. #define VE_roundtoUI VE_roundtoU
  507. #define VE_floortoUI VE_floortoU
  508. #define VE_ceiltoUI  VE_ceiltoU
  509. #define VE_choptoUI  VE_choptoU
  510. #define VE_trunctoUI VE_trunctoU
  511.  
  512. #define VE_cmp0         VD_cmp0
  513. #define VE_cmp_eq0      VD_cmp_eq0
  514. #define VE_cmp_ne0      VD_cmp_ne0
  515. #define VE_cmp_le0      VD_cmp_le0
  516. #define VE_cmp_lt0      VD_cmp_lt0
  517. #define VE_cmp_ge0      VD_cmp_ge0
  518. #define VE_cmp_gt0      VD_cmp_gt0
  519.  
  520. #define VE_cmp_eq0ind   VD_cmp_eq0ind
  521. #define VE_cmp_ne0ind   VD_cmp_ne0ind
  522. #define VE_cmp_le0ind   VD_cmp_le0ind
  523. #define VE_cmp_lt0ind   VD_cmp_lt0ind
  524. #define VE_cmp_ge0ind   VD_cmp_ge0ind
  525. #define VE_cmp_gt0ind   VD_cmp_gt0ind
  526.  
  527. #define VE_cmpC         VD_cmpC
  528. #define VE_cmp_eqC      VD_cmp_eqC
  529. #define VE_cmp_neC      VD_cmp_neC
  530. #define VE_cmp_leC      VD_cmp_leC
  531. #define VE_cmp_ltC      VD_cmp_ltC
  532. #define VE_cmp_geC      VD_cmp_geC
  533. #define VE_cmp_gtC      VD_cmp_gtC
  534.  
  535. #define VE_cmp_eqCind   VD_cmp_eqCind
  536. #define VE_cmp_neCind   VD_cmp_neCind
  537. #define VE_cmp_leCind   VD_cmp_leCind
  538. #define VE_cmp_ltCind   VD_cmp_ltCind
  539. #define VE_cmp_geCind   VD_cmp_geCind
  540. #define VE_cmp_gtCind   VD_cmp_gtCind
  541.  
  542. #define VE_cmpV         VD_cmpV
  543. #define VE_cmp_eqV      VD_cmp_eqV
  544. #define VE_cmp_neV      VD_cmp_neV
  545. #define VE_cmp_leV      VD_cmp_leV
  546. #define VE_cmp_ltV      VD_cmp_ltV
  547. #define VE_cmp_geV      VD_cmp_geV
  548. #define VE_cmp_gtV      VD_cmp_gtV
  549.  
  550. #define VE_cmp_eqVind   VD_cmp_eqVind
  551. #define VE_cmp_neVind   VD_cmp_neVind
  552. #define VE_cmp_leVind   VD_cmp_leVind
  553. #define VE_cmp_ltVind   VD_cmp_ltVind
  554. #define VE_cmp_geVind   VD_cmp_geVind
  555. #define VE_cmp_gtVind   VD_cmp_gtVind
  556.  
  557. #define VE_equC         VD_equC
  558. #define VE_equV         VD_equV
  559. #define VEx_equV        VDx_equV
  560. #define VE_addC         VD_addC
  561. #define VE_subC         VD_subC
  562. #define VE_subrC        VD_subrC
  563. #define VE_mulC         VD_mulC
  564. #define VE_divC         VD_divC
  565. #define VE_divrC        VD_divrC
  566. #define VEx_divrC       VDx_divrC
  567.  
  568. #define VE_addV         VD_addV
  569. #define VE_subV         VD_subV
  570. #define VE_subrV        VD_subrV
  571. #define VE_mulV         VD_mulV
  572. #define VE_divV         VD_divV
  573. #define VE_divrV        VD_divrV
  574.  
  575. #define VEx_addV        VDx_addV
  576. #define VEx_subV        VDx_subV
  577. #define VEx_subrV       VDx_subrV
  578. #define VEx_mulV        VDx_mulV
  579. #define VEx_divV        VDx_divV
  580. #define VEx_divrV       VDx_divrV
  581.  
  582. #define VE_accV         VD_accV
  583. #define VE_accVF        VD_accVF
  584. #define VE_accVD        VE_accV
  585. #define VE_accVBI       VD_accVBI
  586. #define VE_accVSI       VD_accVSI
  587. #define VE_accVI        VD_accVI
  588. #define VE_accVLI       VD_accVLI
  589. #define VE_accVQI       VD_accVQI
  590. #define VE_accVUB       VD_accVUB
  591. #define VE_accVUS       VD_accVUS
  592. #define VE_accVU        VD_accVU
  593. #define VE_accVUL       VD_accVUL
  594. #define VE_accVUI       VD_accVUI
  595.  
  596. #define VE_maxC         VD_maxC
  597. #define VE_minC         VD_minC
  598. #define VE_limit        VD_limit
  599. #define VE_flush0       VD_flush0
  600. #define VE_maxV         VD_maxV
  601. #define VE_minV         VD_minV
  602. #define VE_modC         VD_modC
  603. #define VE_modV         VD_modV
  604. #define VEx_modV        VDx_modV
  605. #define VE_fmodC        VE_modC
  606. #define VE_fmodV        VE_modV
  607. #define VEx_fmodV       VEx_modV
  608.  
  609. #define VE_redC         VD_redC
  610. #define VE_redV         VD_redV
  611. #define VEx_redV        VDx_redV
  612. #define VE_visC         VD_visC
  613. #define VE_visV         VD_visV
  614. #define VEx_visV        VDx_visV
  615. #define VE_hypC         VD_hypC
  616. #define VE_hypV         VD_hypV
  617. #define VEx_hypV        VDx_hypV
  618.  
  619. #define VE_sgn          VE_cmp0
  620.  
  621. #define VE_subvector_equC   VD_subvector_equC
  622. #define VE_subvector_equV   VD_subvector_equV
  623. #define VE_subvector_addC   VD_subvector_addC
  624. #define VE_subvector_subC   VD_subvector_subC
  625. #define VE_subvector_subrC  VD_subvector_subrC
  626. #define VE_subvector_mulC   VD_subvector_mulC
  627. #define VE_subvector_divC   VD_subvector_divC
  628. #define VE_subvector_divrC  VD_subvector_divrC
  629.  
  630. #define VE_subvector_addV   VD_subvector_addV
  631. #define VE_subvector_subV   VD_subvector_subV
  632. #define VE_subvector_subrV  VD_subvector_subrV
  633. #define VE_subvector_mulV   VD_subvector_mulV
  634. #define VE_subvector_divV   VD_subvector_divV
  635. #define VE_subvector_divrV  VD_subvector_divrV
  636.  
  637. /**********************  Mathematical Functions ***********************/
  638.  
  639. #define VE_abs          VD_abs
  640. #define VE_neg          VD_neg
  641. #define VE_inv          VD_inv
  642. #define VEx_inv         VDx_inv
  643. #define VE_intfrac      VD_intfrac
  644. #define VE_modf         VE_intfrac
  645. #define VE_mantexp      VD_mantexp
  646. #define VE_frexp        VE_mantexp
  647. #define VE_hypotC       VD_hypotC
  648. #define VE_hypotV       VD_hypotV
  649. #define VEx_hypotV      VDx_hypotV
  650. #define VE_scale2       VD_scale2
  651. #define VE_ldexp        VE_scale2
  652. #define VE_scale10      VD_scale10
  653. #define VE_square       VD_square
  654. #define VEx_square      VDx_square
  655. #define VE_cubic        VD_cubic
  656. #define VEx_cubic       VDx_cubic
  657. #define VE_quartic      VD_quartic
  658. #define VEx_quartic     VDx_quartic
  659. #define VE_poly         VD_poly
  660. #define VEx_poly        VDx_poly
  661. #define VE_ipow         VD_ipow
  662. #define VEx_ipow        VDx_ipow
  663. #define VE_ipow2        VD_ipow2
  664. #define VE_ipow10       VD_ipow10
  665. #define VE_pow          VD_pow
  666. #define VEx_pow         VDx_pow
  667. #define VE_pow2         VD_pow10
  668. #define VEx_pow2        VDx_pow10
  669. #define VE_pow10        VD_pow10
  670. #define VEx_pow10       VDx_pow10
  671. #define VE_sqrt         VD_sqrt
  672. #define VEx_sqrt        VDx_sqrt
  673. #define VE_log          VD_log
  674. #define VEx_log         VDx_log
  675. #define VE_log2         VD_log2
  676. #define VEx_log2        VDx_log2
  677. #define VE_log10        VD_log10
  678. #define VEx_log10       VDx_log10
  679. #define VE_ln           VE_log
  680. #define VEx_ln          VEx_log
  681. #define VE_exp          VD_exp
  682. #define VE_OD           VD_OD
  683. #define VE_ODwDark      VD_ODwDark
  684. #define VE_setODThresh  VD_setODThresh
  685. #define VEx_exp         VDx_exp
  686. #define VE_expArbBase   VD_expArbBase
  687. #define VEx_expArbBase  VDx_expArbBase
  688. #define VE_expc         VD_expc
  689. #define VEx_expc        VDx_expc
  690. #define VE_exp2         VD_exp2
  691. #define VEx_exp2        VDx_exp2
  692. #define VE_erf          VD_erf
  693. #define VEx_erf         VDx_erf 
  694. #define VE_erfc         VD_erfc
  695. #define VEx_erfc        VDx_erfc
  696. #define VE_Gauss        VD_Gauss
  697. #define VE_Lorentz      VD_Lorentz
  698. #define VE_sin          VD_sin
  699. #define VEx_sin         VDx_sin
  700. #define VE_cos          VD_cos
  701. #define VEx_cos         VDx_cos
  702. #define VE_sincos       VD_sincos
  703. #define VEx_sincos      VDx_sincos
  704. #define VE_tan          VD_tan
  705. #define VEx_tan         VDx_tan
  706. #define VE_cot          VD_cot
  707. #define VEx_cot         VDx_cot
  708. #define VE_sec          VD_sec
  709. #define VEx_sec         VDx_sec
  710. #define VE_cosec        VD_cosec
  711. #define VEx_cosec       VDx_cosec
  712. #define VE_sin2         VD_sin2
  713. #define VEx_sin2        VDx_sin2
  714. #define VE_cos2         VD_cos2
  715. #define VEx_cos2        VDx_cos2
  716. #define VE_sincos2      VD_sincos2
  717. #define VEx_sincos2     VDx_sincos
  718. #define VE_tan2         VD_tan2
  719. #define VEx_tan2        VDx_tan2
  720. #define VE_cot2         VD_cot2
  721. #define VEx_cot2        VDx_cot2
  722. #define VE_sec2         VD_sec2
  723. #define VEx_sec2        VDx_sec2
  724. #define VE_cosec2       VD_cosec2
  725. #define VEx_cosec2      VDx_cosec2
  726. #define VE_sinrpi       VD_sinrpi
  727. #define VEx_sinrpi      VDx_sinrpi
  728. #define VE_cosrpi       VD_cosrpi
  729. #define VEx_cosrpi      VDx_cosrpi
  730. #define VE_sincosrpi    VD_sincosrpi
  731. #define VEx_sincosrpi   VDx_sincos
  732. #define VE_tanrpi       VD_tanrpi
  733. #define VEx_tanrpi      VDx_tanrpi
  734. #define VE_cotrpi       VD_cotrpi
  735. #define VEx_cotrpi      VDx_cotrpi
  736. #define VE_secrpi       VD_secrpi
  737. #define VEx_secrpi      VDx_secrpi
  738. #define VE_cosecrpi     VD_cosecrpi
  739. #define VEx_cosecrpi    VDx_cosecrpi
  740. #define VE_sinrpi2      VD_sinrpi2
  741. #define VEx_sinrpi2     VDx_sinrpi2
  742. #define VE_cosrpi2      VD_cosrpi2
  743. #define VEx_cosrpi2     VDx_cosrpi2
  744. #define VE_sincosrpi2   VD_sincosrpi2
  745. #define VEx_sincosrpi2  VDx_sincos
  746. #define VE_tanrpi2      VD_tanrpi2
  747. #define VEx_tanrpi2     VDx_tanrpi2
  748. #define VE_cotrpi2      VD_cotrpi2
  749. #define VEx_cotrpi2     VDx_cotrpi2
  750. #define VE_secrpi2      VD_secrpi2
  751. #define VEx_secrpi2     VDx_secrpi2
  752. #define VE_cosecrpi2    VD_cosecrpi2
  753. #define VEx_cosecrpi2   VDx_cosecrpi2
  754. #define VE_sinrpi3      VD_sinrpi3
  755. #define VEx_sinrpi3     VDx_sinrpi3
  756. #define VE_cosrpi3      VD_cosrpi3
  757. #define VEx_cosrpi3     VDx_cosrpi3
  758. #define VE_sincosrpi3   VD_sincosrpi3
  759. #define VEx_sincosrpi3  VDx_sincos
  760. #define VE_tanrpi3      VD_tanrpi3
  761. #define VEx_tanrpi3     VDx_tanrpi3
  762. #define VE_cotrpi3      VD_cotrpi3
  763. #define VEx_cotrpi3     VDx_cotrpi3
  764. #define VE_secrpi3      VD_secrpi3
  765. #define VEx_secrpi3     VDx_secrpi3
  766. #define VE_cosecrpi3    VD_cosecrpi3
  767. #define VEx_cosecrpi3   VDx_cosecrpi3
  768. #define VE_sinc         VD_sinc
  769. #define VEx_sinc        VDx_sinc
  770. #define VE_Kepler       VD_Kepler
  771. #define VEx_Kepler      VDx_Kepler
  772. #define VE_asin         VD_asin
  773. #define VEx_asin        VDx_asin
  774. #define VE_acos         VD_acos
  775. #define VEx_acos        VDx_acos
  776. #define VE_atan         VD_atan
  777. #define VEx_atan        VDx_atan
  778. #define VE_atan2        VD_atan2
  779. #define VEx_atan2       VDx_atan2
  780. #define VE_sinh         VD_sinh
  781. #define VEx_sinh        VDx_sinh
  782. #define VE_cosh         VD_cosh
  783. #define VEx_cosh        VDx_cosh
  784. #define VE_tanh         VD_tanh
  785. #define VEx_tanh        VDx_tanh
  786. #define VE_coth         VD_coth
  787. #define VEx_coth        VDx_coth
  788. #define VE_sech         VD_sech
  789. #define VEx_sech        VDx_sech
  790. #define VE_cosech       VD_cosech
  791. #define VEx_cosech      VDx_cosech
  792. #define VE_sech2        VD_sech2
  793. #define VEx_sech2       VDx_sech2
  794.  
  795. #endif  /* Borland or Microsoft */
  796.  
  797. #define VE_gauss   VE_Gauss
  798. #define VE_lorentz VE_Lorentz
  799. #define VE_kepler  VE_Kepler
  800. #define VEx_kepler VEx_Kepler
  801.  
  802. #ifdef __cplusplus
  803. }
  804. #endif
  805.  
  806.  
  807. #endif /* __VEMATH_H */
  808.